1. Field of the Invention
This invention relates generally to signal detectors, and more particularly, to a dual one multifrequency detector using cross-frame energy measurement comparisons.
2. Description of the Related Art
Dual tone multifrequency (DTMF) coding is commonly used in telephone systems to transmit information such as a phone number over the connection between a user and a telephone central office. DTMF coding is also becoming popular in interactive control applications, such as telephone banking, electronic mail systems, and answering machines, wherein the user can select options from a menu by sending DTMF signals from a telephone. In applications where a user is dialing a phone number or providing input to an interactive control system, a DTMF detector must discriminate between a valid DTMF signal and speech or noise.
One type of DTMF detection error occurs when the detector erroneously accepts signal imitations, such as those produced by speech or music, as valid signals. This type of error is referred to as talk-off. Another type of detection error occurs when the signal imitation interferes with a valid DTMF signal and prevents it from being detected. This type of error is referred to as talk-down. DTMF detectors have been developed to improve the immunity of the detector to talk-down and talk-off effects.
Methods for detecting DTMF signals are described in U.S. Pat. Nos. 5,588,053 and 5,644,634 issued to Xie et al. (XIE), the specifications of which are herein incorporated by reference in their entireties. In the Xie methods, the analog signal present on the phone line is sampled and transformed to the frequency domain to identify and extract valid DTMF signals. The frequency domain information is analyzed to identify valid DTMF signals and/or reject erroneous signals resulting from speech or noise.
Current telephone systems typically offer services that send a signal to a subscriber (i.e., telephone user) to provide identifying information regarding an incoming call. This service is commonly referred to as Caller ID. The communication of the identifying information occurs only if the user is on-hook (i.e., not using the line). Another common service, commonly referred to as Call Waiting, informs a subscriber currently using the line (i.e., off-hook) that another call is being received.
A new feature has been developed to inform a user currently using the line (i.e., off-hook) that another call is being received from a third party, and to provide identifying information (i.e., Caller ID information) regarding the third party. The user can then decide whether to take or not take the call based on the identity of the third party. To signal the user""s telephone system of the incoming third party call, the central office sends a customer premises equipment alerting signal (CAS) on the user""s line. The party to which the user is currently communicating does not receive the CAS signal, but it is received by the user""s telephone system. The CAS signal is a DTMF encoded signal having a predefined duration. In response to the CAS signal, the user""s telephone system enables a modem on the line to detect and receive the Caller ID information. Because the CAS signal may be received during an ongoing conversation, the DTMF detector attempting to identify the CAS signal must have a high immunity to talk-off or talk-down errors.
As defined in proposed United States and international standards, the CAS signal consists of the combination of a 2130 Hz tone and a 2750 Hz tone. As defined by the proposed standard, the DTMF detector should accept the CAS signal if the following parameters are met. The lower tone (2130 Hz) and upper tone (2750 Hz) signals should be accurate in frequency within xc2x10.5%. The CAS should have a dynamic range of xe2x88x9214 to xe2x88x9232 dBm per tone and a power differential within the dynamic range of 0 to 6 dB between tones. The duration of the CAS signal should be between 75 to 85 ms at the user""s equipment (i.e., customer premises equipment). At the central office, the CAS signal tones should start and stop within 1 ms of each other.
In general, a DTMF detector examines the line or communication channel for the presence of two sinusoids using dedicated frequency domain algorithms, including modified Goertzel algorithms, DFT/FFTs, auto-correlation, zero crossing counting, and narrow band filter-based methods, among others.
A common technique for determining energy values in the frequency domain is performed by transforming the time domain sampling data to frequency domain data using a variant of the discrete Fourier transform (DFT) called the Goertzel algorithm. The Goertzel algorithm is a second-order recursive computation of the DFT using a feedback and a feed-forward phase. The feedback phase computes a new output, y(n+1), for every new input sample x(n), where N is the number of input samples. The feedback phase equation is:
y(n+1)=cxc2x7y(n)xe2x88x92y(nxe2x88x921)+x(n),xe2x80x83xe2x80x83Equation 1
where c is the Goertzel coefficient:                     c        =                              2            ·            cos                    ⁢                      xe2x80x83                    ⁢                                    (                              2                ⁢                                  xe2x80x83                                ⁢                π                ⁢                                  xe2x80x83                                ⁢                                  f                  F                                            )                        .                                              Equation        ⁢                  xe2x80x83                ⁢        2            
In the Goertzel coefficient, f is the frequency to be detected and F is the sampling frequency (i.e., 8 kHz).
The feed-forward phase is normally calculated after the Nth data sample is received (i.e., n=N). The feed-forward phase equation provides a single output energy parameter, given by the equation:
|Yk(N)|2=y(n)xc2x7y(n)+y(nxe2x88x921)xc2x7y(nxe2x88x921)xe2x88x922xc2x7cxc2x7y(n)xc2x7y(nxe2x88x921),xe2x80x83xe2x80x83Equation 3
where                               c          =                                                    2                ·                cos                            ⁢                              xe2x80x83                            ⁢                              (                                  2                  ⁢                                      xe2x80x83                                    ⁢                  π                  ⁢                                      xe2x80x83                                    ⁢                                      f                    F                                                  )                                      =                                          2                ·                cos                            ⁢                              xe2x80x83                            ⁢                              (                                  2                  ⁢                                      xe2x80x83                                    ⁢                  π                  ⁢                                      xe2x80x83                                    ⁢                                      k                    N                                                  )                                                    ,                            Equation        ⁢                  xe2x80x83                ⁢        4            
and                     k        =                              N            f                    ·                      f            .                                              Equation        ⁢                  xe2x80x83                ⁢        5            
The values for N and k are integers. The choice of the values for k and N for a given tone frequency requires a trade-off between accuracy and speed of detection. As the number of samples, N, increases, the resolution in the frequency domain increases, but the computation time for the feed-forward phase increases. The spacing of the energy output values in the frequency domain from the feed-forward phase is equal to half the sampling frequency divided by N. If the tone being detected, f, does not fall exactly on a selected frequency point (i.e., a frequency bin defined by k and N), part of the energy associated with the frequency point appears in the energy output value of an adjacent frequency point. This phenomenon is referred to as leakage. To avoid leakage, the values of k and N are chosen to attempt to center the tone being detected within a frequency bin.
Once the DTMF detector has calculated the energy values for a given frame of data, the DTMF detector performs various tests to ensure that the detected energy meets the above listed criteria for the CAS signal. Previous DTMF detectors have used various thresholding techniques to determine the presence of valid DTMF tones. These prior techniques, to various extents, lack the degree of noise immunity necessary to reliably detect the presence of the CAS signal.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
One aspect of the present invention is seen in a signal detector including a transform unit and a cross-frame energy level unit. The transform unit is adapted to receive at least a first and a second frame of time domain input samples. The transform unit generates at least a first frequency energy value for the first frame and a second frequency energy value for the second frame based on the time domain input samples. The cross-frame energy level unit is adapted to compare the first frequency energy value to the second frequency energy value to determine the presence of a first tone in the time domain input samples.
Another aspect of the present invention is seen in a method for detecting a signal. The method includes receiving at least a first and a second frame of time domain input samples. At least a first frequency energy value for the first frame and a second frequency energy value for the second frame are generated based on the time domain input samples. The first frequency energy value is compared to the second frequency energy value to determine the presence of a first tone in the time domain input samples.